Method and apparatus for wireless image transmission to a projector

ABSTRACT

A method and apparatus is provided in which a digital image is transmitted to a presentation projector resource over a wireless transmission medium using a reduced amount of transmission bandwidth by transmitting a subset of the digital image data. The subset image data may be a delta subset that represents those areas of the image that have changed since the previous transmission. The subset image data may also be a scalable vector graphics representation of the subset of the digital image. Header data is provided to further describe the subset image data. A projector discovery logic selects a suitable projector resource based on the order or signal strength of the discovery replies. A wireless image transmission session is established with the selected projector resource during which the projector is unavailable to other devices. The subset image data may be compressed and transmission coordinated with the projector resource so that the data is sent only when it is ready to be received. A wireless to digital visual interface (DVI) graphics engine decompresses and renders the image for output to a DVI connector receptacle. The rendered image is projected by the projector resource in accordance with the associated header data so that the exact image that appears on the image generation device also appears on the projected display.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.09/877,909, filed Jun. 7, 2001. The entirety of the above listeddocument is hereby incorporated herein by reference for all purposes.

BACKGROUND

The present invention relates generally to presentation projectors forprojecting computer generated presentations and other images to aviewing surface. In particular, the present invention relates totechnology that enables the wireless transmission of an image to apresentation projector.

The widespread acceptance of using computers to facilitate groupcommunications has created a large demand for devices that projectcomputer displays. As a result, corporate enterprises have installedmultimedia projection systems in many workplace conference rooms, orprovide access to portable presentation equipment that can be used inconference rooms as needed. In a typical operating mode, multimediaprojection systems receive analog video signals from a personal computer(“PC”). The video signals may represent still, partial, or full-motiondisplay images of a type rendered by the PC. The analog video signalsare typically converted in the projection system into digital videosignals, and the signals are electronically conditioned and processed tocontrol an image-forming device, such as a liquid crystal display(“LCD”) or a digital micro-mirror device (“DMD”).

A popular type of multimedia projection system employs a broad-spectrumlight source and optical path components upstream and downstream of theimage-forming device to project the image onto a display screen. Anexample of a DMD-based multimedia projector is the model LP420manufactured by InFocus Corporation., of Wilsonville, Oreg., theassignee of the present application.

To display their presentations, users tote portable computers such aslaptops into the conference room, and attach the computer to theprojector using a connecting cable. The necessity of carrying heavycabling to attach the computer to the projector is inconvenient,especially when giving mobile presentations. Issues of cablecompatibility or malfunction may occur and the set-up time is increased.Moreover, if more than one presenter uses the projection equipment, eachwith their own laptops, then each successive presenter needs to repeatthe cabling set-up procedure, which results in a delay betweenpresentations.

One way to eliminate the cabling problem is to transmit the image over awireless communications link instead of a cable connection. Wirelesstransmission of an image to a projector is known in the art. Forexample, U.S. Pat. No. 5,847,748, Multimedia Projection System, whichissued on Dec. 8, 1998, to David P. Laughlin, (the “'748 patent”)discloses a multimedia projection system that includes a notebookcomputer that has an integral projector. The projector described in the'748 patent is capable of receiving information from the computer'scentral processing unit through a cable or a wireless communicationcircuit, including an infrared communication circuit.

An example of a prior art wireless presentation projector is theNotevision5 Liquid Crystal Display (LCD) projector manufactured by theSharp Electronics Corporation of Mahwah, N.J. The Notevision5 LCDprojector features an infrared communication capability, which allowsusers to transfer digital images from a laptop or a compatible devicedirectly to the projector. The Sharp Notevision5 LCD projector relies onan Infrared Data Association (IrDA) data communication standard totransmit the image from the computer to the projector. One of thedrawbacks to using the IrDA data communication standard is the bandwidthlimitation inherent in infrared communications. Transmission data ratesare low, with a maximum data transmission speed of up to 4 Mb/s(megabytes per second). This results in a very slow image update,typically up to at least 15 seconds per screen. The slow image updaterate is unacceptable to most presentation system users.

In an effort to overcome the low data transmission rates, the IrDA datacommunication standards provide for converting and storing images in acompressed format in order to reduce the amount of data that istransmitted. The Sharp Notevision5 projector uses the Joint PhotographicExperts Group (JPEG) image compression format, which is documented bythe International Organization for Standards (ISO) in ISO standard10918, Information technology—Digital compression and coding ofcontinuous-tone still images, first published in 1994. However, theconversion and storage of the image using the JPEG image compressionformat is a process that is computationally intensive and necessarilydelays the transmission of the image from the computer to the projector.Moreover, the size of the compressed JPEG images of a typicalpresentation is still unacceptably large, which does not allow forsatisfactory update rates for displaying a wireless projected image.

Yet another drawback inherent in the use of the IrDA data communicationstandard is that infrared communication is a short-range technologylimited to about a 30-50 foot radius. In addition, infraredcommunication is highly directional because the infrared signals cannotpenetrate solid objects. Thus, interference is common and the signalscan even be affected by indoor lighting (e.g. the use of fluorescentlights) and air quality (e.g. the presence of dust or smoke).

What is needed, therefore, is an improved method of wireless imagetransmission between a computer and a projector. In particular, thewireless transmission of an image that is independent of the wirelesstransmission medium and that provides for faster updates of theprojected image in an efficient and user-friendly way presents a uniqueset of challenges, requiring a new and novel solution.

SUMMARY

According to one aspect of the invention, a method is provided in whicha digital image is transmitted to a presentation projector resource overa wireless transmission medium using a reduced amount of transmissionbandwidth. The method transmits a subset of the digital image and headerdata that describes the subset of the digital image. The subset of thedigital image may comprise one or more blocks of image data thatrepresent the smallest bounding rectangle that encompasses those areasof the digital image that have changed since the previous transmission,referred to herein as delta image data. The smallest bounding rectangleencompassing the delta image data is determined using a screen scrapersender logic that obtains the screen scrape from a raster graphics imagein a video memory buffer Alternatively, the subset of the digital imagemay comprise graphic primitives which the screen scraper sender logicencodes in a scalable vector graphics (SVG) format, referred to hereinas SVG image data. The screen scraper sender logic creates the headerdata to identify which type of subset of the digital image is beingtransmitted, as well as certain details about the transmitted image,including the image size, height, width, and position.

According to one aspect of the invention, the image transmission isinitiated using a projector discovery logic which is activated inresponse to a single user action, to automatically discover and selectsuitable presentation projector resources that are available to receivethe subset image data and header data over the wireless transmissionmedium. A wireless image transmission session is established with theselected presentation projector resource during which the selectedpresentation projector is unavailable to other devices. The screenscraper sender logic compresses the delta image data and coordinatestransmission of the subset of the digital image data and header datawith a screen scraper receiver logic on the presentation projectorresource so that data is sent only when ready to be received.

According to one aspect of the invention, the presentation projectorresource is further equipped with a wireless to digital visual interface(DVI) graphics engine to decompress and render the transmitted subset ofthe digital image data for output to a DVI connector receptacle on thepresentation projector resource in accordance with the Digital DisplayWorking Group's DVI specification. The screen scraper receiver logicfurther applies the rendered image to the projected image in accordancewith the associated header data so that the exact image that appears onthe image generation device also appears on the projected display.

In accordance with other aspects of the present invention, apparatus areprovided for carrying out the above and other methods.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be described by way of exemplary embodiments,but not limitations, illustrated in the accompanying drawings in whichlike references denote similar elements, and in which:

FIG. 1 illustrates an overview of the method and apparatus for wirelessimage transmission to a projector in accordance with one embodiment;

FIG. 2 illustrates a block diagram of selected components of the methodand apparatus for wireless image transmission to a projector illustratedin FIG. 1, in accordance with one embodiment;

FIG. 3 illustrates a simplified block diagram overview of the initiationand administration of a wireless image transmission session illustratedin FIG. 1, in accordance with one embodiment;

FIG. 4 illustrates a simplified block diagram overview of thetransmission of data during the wireless image transmission sessionillustrated in FIG. 1, in accordance with one embodiment;

FIG. 5 illustrates a flow diagram of the operation of the method andapparatus for wireless image transmission to a projector screen scrapersender logic illustrated in FIG. 2 in accordance with one embodiment;

FIG. 6 illustrates in further detail selected aspects of the screenscraper sender logic illustrated in FIG. 2 in accordance with oneembodiment;

FIG. 7 illustrates in further detail selected aspects of the screenscraper sender logic illustrated in FIG. 2 in accordance with oneembodiment;

FIG. 8 illustrates in further detail selected aspects of the screenscraper sender logic illustrated in FIG. 2 in accordance with oneembodiment;

FIG. 9 illustrates a data layout of a header data in accordance with oneembodiment;

FIG. 10 illustrates a flow diagram of the operation of the method andapparatus for wireless image transmission to a projector screen scraperreceiver logic illustrated in FIG. 2 in accordance with one embodiment;

FIG. 11 illustrates in further detail selected aspects of the wirelessto DVI graphics engine illustrated in FIG. 2 in accordance with oneembodiment;

FIGS. 12-13 illustrate a flow diagram of the operation of the method andapparatus for wireless image transmission to a projector illustrated inFIGS. 1-4 in accordance with one embodiment;

FIG. 14 illustrates a data flow diagram of the method and apparatus forwireless image transmission to a projector illustrated in FIGS. 1-4 inaccordance with one embodiment; and

FIG. 15 illustrates a general-purpose computer system upon which anembodiment of the wireless image transmission to a projector method andapparatus may be implemented.

WRITTEN DESCRIPTION

In the following description various aspects of the method and apparatusfor wireless image transmission to a projector will be described.Specific details will be set forth in order to provide a thoroughunderstanding of the present invention. However, it will be apparent tothose skilled in the art that the present invention may be practicedwith only some or all of the described aspects of the present invention,and with or without some or all of the specific details. In someinstances, well-known features may be omitted or simplified in order notto obscure the present invention.

Various operations will be described as multiple discrete stepsperformed in turn in a manner that is most helpful in understanding thepresent invention. However, the order of description should not beconstrued as to imply that these operations are necessarily performed inthe order they are presented, or even order dependent. Lastly, repeatedusage of the phrase “in one embodiment” does not necessarily refer tothe same embodiment, although it may.

FIG. 1 illustrates an overview of the method and apparatus for wirelessimage transmission to a projector 100 in accordance with one embodiment.As illustrated, an image-generating device 110 such as a laptop computergenerates a digital image on a display device 111 that is transmittedover a wireless link 120 to a remote presentation projector 130 forprojection 145 to a presentation display surface 140 by a presenter 150during a wireless image transmission session 125 established between theimage-generating device 110 and the remote presentation projector 130.

In one embodiment, the image generation device 110 may be any desktoppersonal computer, laptop computer, personal digital assistant (PDA), orother type of computer appliance capable of running an operating systemplatform with a graphical user interface such as Microsoft's Windows 98,Windows 2000, and Windows CE platforms. The image generation device 110generates a digital image for a display device 111 that may be an LCDscreen as illustrated or any type of display monitor that is capable ofdisplaying the image generated by the image generation device 110. Inone embodiment the display device 111 may be eliminated, in which casethe presenter 150 would rely solely on the projected image 145 fordisplay of the digital image. The image-generation device 110establishes a wireless image transmission session 125 with a remotepresentation projector 130 that is accessible over the wireless link120. During the wireless image transmission session 125, the imagegeneration device 110 functions as a projector server host that servesthe generated digital image data via the wireless link 120 to thepresentation projector 130.

In one embodiment, the wireless link 120 may be any wirelesstransmission medium for a wireless network environment, includingwireless networks designed in accordance with the IEEE 802.11 WirelessLAN Standard, or the Draft Specification of Bluetooth: A GlobalSpecification for Wireless Connectivity, promulgated by the BluetoothSpecial Interest Group.

In one embodiment, the remote presentation projector 130 isnetwork-enabled and accessible over wireless link 120 and typicallyoperates using a real-time operating system (RTOS) such as Wind River VXWorks or Microsoft's Windows CE. The presentation projector 130 isfurther capable of receiving digital image data using the Digital VisualInterface version 1.0 (DVI), published by the Digital Display WorkingGroup on Apr. 2, 1999. The presentation projector 130 may be a liquidcrystal display (LCD), digital mirror device (DMD), liquid crystal onsilibon (LCOS) projector or the like that include a light source andtransmissive or reflective projection optics to form and project displayimages on a display surface 140 in both rear and front displayapplications. Examples of such presentation projectors are sold underthe trademark LIGHTPORT by InFocus Corporation of Wilsonville, Oreg.,the assignee of the present application.

FIG. 2 illustrates a block diagram of selected components of the methodand apparatus for wireless image transmission to a projector illustratedin FIG. 1, in accordance with one embodiment. The wireless imagetransmission 100 comprises the image-generating device 110 that iscapable of running a wireless image transmitter logic 500 and a screenscraper sender logic 200. The wireless image transmitter logic 500initiates and administers the wireless image transmission session 125between the image generating device 110 and the presentation projector130. The screen scraper sender logic 200 captures and generates a subsetof the digital image data that was generated by the image generatingdevice 110 for display to the display device 111, and prepares thesubset of the digital image data for transmission over the wireless link120 to a presentation projector 130.

In one embodiment, the presentation projector 130 is capable of runninga screen scraper receiver logic 300 as well as a wireless DVI graphicsengine 400, which together enable the presentation projector 130 toreceive the subset of the digital image data from the screen scrapersender logic 200 of the image generating device 110 and to render acontinuously updated image to the projector's video memory buffer 131for display to the projector display 140 with a minimal delay,regardless of the wireless transmission medium of the wireless link 120.

The screen scraper sender logic 200, screen scraper receiver logic 300,wireless to DVI graphics engine 400, and wireless image transmitterlogic 500, operate together with other selected components of the imagegeneration device 110 and projector 130, including the display device111, a current off-screen buffer 112, a previous off-screen buffer 113,a image generator device video memory buffer 114, a projector outputbuffer 115, a user interface 116, and a projector video memory buffer131, the manner of which operation is described in further detail inFIGS. 3-13. In one embodiment the screen scraper sender logic 200, thewireless transmitter logic 500, or any of the other components of theimage generation device 110 may reside externally to the imagegeneration device 110 as, for example, in another network servercomputer 160 in communication with the image generation device 110, orother computer device, including a storage medium that ismachine-accessible. Similarly, although illustrated as part of thepresentation projector 130, in one embodiment the components of thescreen scraper receiver logic 300 or the wireless to DVI graphics engine400 may reside externally to the presentation projector 130. Forexample, portions or all of those components may be resident in anetwork server computer 160 functioning as a projector server computerin communication with the presentation projector 130.

FIG. 3 illustrates a simplified block diagram overview of the initiationand administration of the wireless image transmission session 125 by thewireless image transmitter logic 500 of image generation device 110. Inresponse to a single user action via user interface 116 on the imagegeneration device 110, the wireless image transmitter logic 500 sends adiscovery request 126 to all projectors 130 accessible over wirelesslink 120. Those projectors that cans respond to the request do so byreturning a projector discovery reply 127. Depending on certaincharacteristics of the discovery replies 127, the wireless imagetransmitter logic 500 automatically determines which projectors 130 aremost suitable. The wireless image transmitter logic 500 selects one ofthe suitable projectors, either automatically or in response to afurther user selection on user interface 116, and initiates the wirelessimage transmission session 125 by sending a lock command 128 to lock theselected projector 130 for exclusive use. Upon termination of thewireless image transmission session 125, the wireless image transmitterlogic 500 sends an unlock command 129 to release the projector 130 sothat it is available for use by others.

FIG. 4 illustrates a simplified block diagram overview of thetransmission of data during the wireless image transmission session 125.The screen scraper sender logic 200 of the image generation device 110generates a subset of the image generated for the display device 111 andtransmits to the selected projector 130, not only the subset of thedigital image data 118, but also an associated header data 117. Thesubset of the digital image data 118 may comprise a delta image datathat represents those areas of the image generated by the imagegeneration device 110 that have changed since the last transmission.Alternatively, the subset of the digital image data 118 may comprise anSVG formatted image data that represents certain graphics primitives ofthe image generated by the image generation device 110. The associatedheader data 117 identifies the type of digital image data beingtransmitted as well as certain characteristics of the digital imagedata, including the size, height, width, and position of the image, andwhether and which type of compression was used.

It should be noted that in FIGS. 5-8, 10, 12-13, the particular methodsof the invention are described in terms of computer software logic withreference to a series of flowcharts. The methods to be performed by acomputer constitute computer programs made up of computer-executableinstructions. Describing the methods by reference to a flowchart enablesone skilled in the art to develop such programs including suchinstructions to carry out the methods on suitably configured computers(the processor of the computer executing the instructions fromcomputer-readable media). The computer-executable instructions may bewritten in a computer programming language or may be embodied infirmware logic, or even application specific integrated circuits(ASICs). If written in a programming language conforming to a recognizedstandard, such instructions can be executed on a variety of hardwareplatforms and for interface to a variety of operating systems. Inaddition, the present invention is not described with reference to anyparticular programming language. It will be appreciated that a varietyof programming languages may be used to implement the teachings of theinvention as described herein. Furthermore, it is common in the art tospeak of software, in one form or another (e.g., program, procedure,process, application, etc.), as taking an action or causing a result.Such expressions are merely a shorthand way of saying that execution ofthe software by a computer causes the processor of the computer toperform an action or a produce a result.

The invention may be described by reference to different high-levelsoftware logic modules such as computer program modules, and/orlow-level hardware contexts. Those skilled in the art will realize thatprogram module references can be interchanged with low-level hardwareinstructions. Program modules include procedures, functions, programs,components, data structures, and the like, that perform particular tasksor implement particular abstract data types. The modules may beincorporated into single and multi-processor computing systems, as wellas hand-held devices and controllable consumer devices (e.g., PersonalDigital Assistants (PDAs), cellular telephones, etc.). It is understoodthat modules may be implemented on a single computing device, orprocessed over a distributed network environment, where modules can belocated in both local and remote memory storage devices.

FIG. 5 illustrates in further detail selected functional components ofthe screen scraper sender logic 200 illustrated in FIG. 2 in accordancewith one embodiment. At block 210 the screen scraper sender logic 200obtains a copy of the raster graphics image from the video memory buffer114 in the image generation device 110. The raster graphics image in thevideo memory buffer 114 is the binary data that represents the image onthe image generation device's display device 111 (e.g. a computermonitor or a laptop LCD as illustrated in FIG. 1). The screen scrapersender logic 200 obtains the binary data by directly accessing thecontents of the video memory buffer 114 using a display controlinterface such as, for example, the Microsoft Windows operating system'sDirectDraw facility. The contents of the video memory buffer 114 arecopied into the current off-screen buffer 112, and are referred to as a“screen scrape.”

At block 230, the screen scrape sender logic compares the “screenscrape” in the current off-screen buffer 112 with the “screen scrape”that was previously saved in the previous off-screen buffer 113. Ifthere are no changes, then the screen scraper sender logic 200 repeatsthe processes in blocks 210, 220, and 230 until a change in the digitalimage occurs. If there are changes, then the screen scraper sender logiccontinues at block 240 to determine the smallest bounding rectangle thatencompasses the changes in the digital image. Depending on the changes,there may be several bounding rectangles that encompass the changes inthe image.

FIG. 6 illustrates in further detail the screen scrape comparison atblock 230 and the determination of the smallest bounding rectangle atblock 240 of the screen scraper sender logic 200 illustrated in FIG. 3in accordance with one embodiment. At block 231, the screen scrapersender logic compares each pixel of the screen scrape in the currentoff-screen buffer 112 to each corresponding pixel of the previous screenscrape in the previous off-screen buffer 113. At block 232, the screenscraper sender logic 200 determines whether there are any changedpixels. If there are changed pixels at block 232-YES branch, thenprocessing continues at block 240 to determine the smallest boundingrectangle that encompasses those pixels of the screen scrape in thecurrent off-screen buffer 112 that have changed since the previousscreen scrape in the previous off-screen buffer 113 was obtained. Itshould be noted that, in one embodiment, each pixel may be comprised ofdigital image data for each of the color, shades of gray, and/orintensity components that represent the optical state of the pixel. Indetermining whether the pixel value has changed, any one or all of thesecolor, grayscale, or intensity components may be compared.

At block 241, processing continues to transfer the pixels encompassed bythe smallest bounding rectangle, i.e. the delta image data, to theprojector output buffer 115 in preparation for transmission over thewireless link 120 to the presentation projector 130. The delta imagedata in the projector output buffer 115 is the subset image data 118which is transmitted to the projector 130. When received by the screenscraper receiver logic 300, this delta image data will be used to updatethe projected image 145 using the wireless DVI graphics engine 400.

Returning now to FIG. 5, processing continues at block 250 where thescreen scraper sender logic 200 compresses the subset image data 118 inthe projector output buffer 115 in further preparation for transmissionover the wireless link 120 to the presentation projector 130. In oneembodiment, the compression is performed using a standard compressiontechnique such as the LZO compression method of Franz Xavier JohannesOberhumer. However, other compression techniques that provide lossless(or acceptably lossy) and efficient compression may be employed withoutdeparting from the principles of the present invention.

FIG. 7 illustrates in further detail selected functional components ofthe screen scraper sender logic 200 illustrated in FIG. 2 in accordancewith an alternate embodiment. Instead of using a raster graphics imageas described in detail in FIGS. 5 and 6, FIG. 7 illustrates the use ofscalable vector graphics (SVG) images. An SVG image is a description ofa digital image using mathematical equations called vector graphics,instead of the bit-pattern description of the image itself as used inraster graphics images. One advantage to using vector graphics is thatthe image can easily be made scalable, whereas an image specified inraster graphics is a fixed-size bitmap. In one embodiment, at block 220,the “screen scrape” is rendered into the current off-screen buffer 112by first obtaining the operating system dependent graphics primitivesthat comprise the image from the video memory buffer 114 instead of theraster graphics image. At block 225, the screen scraper sender 200converts the graphics primitives to an SVG image data and transfers theSVG image data to the projector output buffer 115 in preparation fortransmission over the wireless link 120 to the presentation projector130. The SVG image data in the projector output buffer 115 is the subsetimage data 118 which is transmitted to the projector 130. When receivedby the screen scraper receiver logic 300, this SVG image data will beused to update the projected image 145 using the wireless DVI graphicsengine 400.

The SVG description of the image may be implemented as an application ofthe Extensible Markup Language (XML), but other types of vector graphicdescriptions may be employed without departing from the principles ofthe present invention. When SVG is used to describe the image, then thedelta image data determination and special image compression describedin FIGS. 5-6 would not be used. Rather, the SVG image data itselfrepresents a highly compressed image representation. Thus determinationof a delta image data and additional compression would not be needed.

Returning again to FIG. 5, at block 260, the screen scraper sender logic200 creates a header data 117 that contains data describing the subsetimage data 118 in the projector output buffer 115. In one embodiment,the data fields that comprise the header data 117 are illustrated inFIG. 9. As shown, the header data 117 is comprised of numerous datafields that are described in further detail below in Table 1.

TABLE 1 Identifier A value that identifies which type of subset imagedata 118 is being transmitted Size A value that represents the size ofthe image represented by the subset image data 118 Revision number Anumber that indicates which revision of the image is being transmittedsince the initiation of the wireless image transmission session 125.Image height The height of the image represented in the subset imagedata 118 Image width The width of the image represented in the subsetimage data 118 Bits per pixel The number of bits per pixel of the imagerepresented in the subset image data 118 Horizontal position Thehorizontal position of the image (x-coordinate) represented in thesubset image data 118 Vertical position The vertical position of theimage represented (y-coordinate) in the subset image data 118 DataCoding Algorithm A value indicating which algorithm has been used toencode or compress the subset image data 118, e.g. in the case of SVGimage data, the SVG encoding algorithm (XML, etc.), or in the case ofdelta image data, the compression encoding algorithm (GIF, JPEG, LZO,etc.). Compressed Size A value that represents the size of the subsetimage data 118 after compression or encoding.

In one embodiment, the header data 117 and subset image data 118 may besent as a single packet of data across the wireless link 120. Uponreceiving the single packet of data, the projector 130 parses the packetinto header data 117 and subset image data 118.

Returning again to FIG. 5, the screen scrape sender logic 200 continuesat block 270 by initiating the transmission of the header data 117 andthe subset image data 118 from the output buffer 115 of the imagegenerating device 110 to the input video memory buffer 131 of thepresentation projector 130. FIG. 8 illustrates in further detail, atblock 270, the screen scrape transmission portion of the screen scrapesender logic 200 illustrated in FIG. 3 in accordance with oneembodiment. At block 271, the screen scrape sender logic 200 determineswhether the screen scrape receiver 300 has granted permission to sendthe subset image data 118. The permission may be communicated using anyproprietary or standardized mechanism that is capable of negotiatingpermission between the image generator device 110 and the projector 130.For example, a Universal Plug and Play method could be used tocommunication permission. If permission has not been granted, then atblock 272, the screen scraper sender logic 200 returns to block 271 totry again until succeeding in either sending the subset image data 118or timing out. If there is a time out, then the screen scraper senderlogic 200 returns to the beginning at block 200 to start the screenscrape process over again.

In one embodiment, if the screen scrape receiver 300 grants permissionto the screen scrape sender to send the subset image data 118, then theheader data 117 and the subset image data 118 from the output buffer 115of the image generation device 110 are sent over the wireless link 120through a Transmission Control Protocol/Internet Protocol (TCP/IP)socket connection to the presentation projector 130. Other types oftransport protocols other than TCP/IP that guarantee delivery so that nodata is lost through the connection may also be used to transmit theheader and delta subset image data without departing from the principlesof the present invention.

The entire process embodied in the screen scraper sender logic 200 isrepeated continually throughout the duration of the wireless imagetransmission 100, until the transmission is terminated by a user inputby the presenter 150 through the user interface 116 of the imagegeneration device 110 or by some other terminating event, such as anetwork or power failure. The end result is that the amount of imagedata transmitted over the wireless communication link 120 during thewireless image transmission session 125 is significantly reduced sincethe screen scraper sender logic 200 only sends the a subset image data118 that represents either a delta image data or an SVG-encoded imagedata of the digital image data captured by the screen scraper senderlogic 200.

FIG. 10 illustrates in further detail selected components of the screenscraper receive logic 300 illustrated in FIG. 2 in accordance with oneembodiment. At blocks 310/320 the screen scraper receive logic 300receives the header data 117 and subset image data 118. In the casewhere a delta image data has been transmitted, at block 330, the screenscraper receiver logic 300 decompresses the subset image data 118 inaccordance with the header data 117 data fields that describe the subsetimage data 118, including the type of data coding algorithm used tocompress the data. Using the wireless to DVI graphics engine 400, atblock 340 the screen scraper receiver logic 300 initiates the renderingof the subset image data 118. The wireless to DVI graphics engine 400 isdescribed in detail in FIG. 11 below. At block 350, the screen scraperreceiver logic 300 updates the projected image 145 displayed by theprojector 140 with the rendered subset image in accordance with theimage description in the data fields of the header data 117. Forexample, by using the corresponding values in header data 117 datafields, image height, width, horizontal position and vertical position,the screen scraper receiver logic 300 can substitute, in the properlocation, the pixels in the previous projected image with the pixelsrendered from the subset image data 118. Other techniques for updatingthe projected image 145 with the rendered subset image data 118 may beemployed without departing from the principles of the present invention.Finally, at block 360, the screen scraper receiver logic 300 grantspermission to the screen scraper sender logic 200 to send another subsetimage data 118 of the next image captured by the screen scraper. Uponsuccessful completion of each transmission, the screen scraper senderlogic 200 returns to the beginning at block 210/220 to repeat the screenscrape sender and receiver processes 200/300 until the wireless imagetransmission to projector session 125 is terminated.

FIG. 11 illustrates in further detail selected components of thewireless to DVI graphics engine 400 illustrated in FIG. 2 in accordancewith one embodiment. The wireless to DVI graphics engine 400 may beincorporated into the presentation projector 130 itself or in anexternal computing device, such as a network server 160 or othercomputing device, connected to the presentation projector 130. As shown,wireless to DVI graphics engine 400 comprises a PCI (peripheralcomponent interconnect) bus 405, a PCMCIA (Personal Computer Memory CardInternational Association) bus or a 68K bus 460, or other communicationshardware and software for communicating information, a processor 415coupled with buses 405/460 for processing information, a graphicscontroller 420 coupled to the PCI bus 405. Wireless to DVI graphicsengine 400 further comprises a main memory or other dynamic storagedevice 410 and a non-volatile flash memory 435 coupled to processor 415for storing information and instructions to be executed by processor415. Wireless to DVI graphics engine 400 may also comprise processor 450and an external memory 465, coupled to bus 460, for storing andprocessing information and instructions. Graphics controller 420 iscoupled to DVI-D receptacle 430 via a Display Data Channel (DDC) 440.The DVI-D receptacle 430 is equipped with a transmission minimizeddifferential signaling (TMDS) link 425, which is used to transmit thegraphics data to the projector display in accordance with the DVIstandard. The DVI-D receptacle 430 is further connected to one or moreDirect Current (DC) converters. A wireless network interface 455 iscoupled to PCMCIA or 68K bus to receive the subset image data 118 andheader data 117 from the image generation device 110.

In operation, the processor 415 decompresses the delta subset image data118 that was received via wireless network interface 455, when necessaryand in accordance with the header data 117 data field's, and sends thedecompressed image data to the graphics controller 420. The graphicscontroller 420 receives the decompressed image data or the subset imagedata 118 directly and stores it in a frame buffer in memory 410.Subsequently, the graphics controller 420 retrieves the image data fromthe frame buffer in memory 410 and sends the image data to the TMDStransmitter 425 which, in turn, outputs DVI-formatted image data forinput to the DVI-D receptacle 430 connected to the presentationprojector display 130.

FIGS. 12-13 illustrate a flow diagram of the operation of the wirelessimage transmitter 500 illustrated in FIG. 1 in accordance with oneembodiment. At block 505 the operation of the wireless image transmitter500 begins with receiving a user input via user interface 116 of imagegeneration device 110 to initiate an image transmission. The user inputis typically entered on the image generation device 110 using an inputdevice connected to the image generation device 110, either alone or incombination with a display graphical user interface 116 to indicate theuser's desire to initiate the wireless image transmission session 125.However, it should be understood that other techniques for receiving theuser input may be employed without departing from the principles of thepresent invention. In one embodiment, the user input comprises a singleaction taken by the user to initiate the wireless image transmissionsession 125.

At block 510, the wireless image transmitter 500 sends a projectordiscovery request 126 over the wireless link 120 in response to the userinput entered at block 505. At block 515, the wireless image transmitter500 receives projector discovery replies 127 from receivers (projectors)within radio frequency range of the image generation device 110. Atblock 520, the wireless image transmitter 500 automatically selects asuitable presentation projector 130 based on characteristics of thesignal, such as the signal strength of the projector discovery repliesor the signal's time displacement. In one embodiment, the identity ofthe projectors discovered would be displayed on the user interface 116of the image generating device 110 and the presenter 150 would manuallyselect the receiver projector 130 with which to initiate the wirelessimage transmission session 125. For example, the discovered projectorsmight be represented on the user interface 116 by various projectoricons or other visual graphics symbols, and the user/presenter 150 wouldclick on the desired projector icon to select the correspondingprojector.

In one embodiment, the automatic selection of the projector may based onthe characteristic of the elapsed time between sending of the discoveryrequest 126 and the return of the discovery reply 127, provided that thesignal processing time at the projector 130 does not introduce unwantedvariability from projector to projector. Since the speed of light is 108meters/second, there is an inherent (one-way) signal delay of 10nanoseconds per meter of distance between image generation device 110and the projector 130. The time it takes for the signal to go betweenthe projector and image generation device need not be accuratelymeasured, rather it is the order that the discovery replies 127 arereceived from the various projectors within discoverable range that isimportant. So projector-to-projector processing time variability shouldnot exceed tens of nanoseconds for proper determination of the mostsuitable projector. In one embodiment, the automatic selection of theprojector may be further based on the characteristic of the relativesignal strength of the discovery replies 127, with the strongest signalindicating which of the responding projectors is most suitable. In oneembodiment a combination of the order and signal strength of thediscovery replies 127 are used to select the most suitable projector.

Turning now to FIG. 13, once a suitable presentation projector 130 isselected, at block 540 the wireless image transmitter 500 locks thesuitable projector so that no other requester can use it using aprojector lock-out process. In the projector lock-out process at block540, the state of the projector 130 can be either “locked” or“unlocked”. For example, the projector 130 is in a locked state if awireless image transmission session 125 is already in progress or theprojector is on and receiving images from one of its wired sources. Whenthe wireless image transmitter 500 sends a query to the destinationprojector 130, a “locked” or “unlocked” state reply is returned. If theprojector 130 is locked, a “projector is busy” message is displayed onthe user interface 116 of the image generation device 110. If theprojector is “unlocked,” then, once the wireless image transmitter 500starts the session 125, the projector's state changes to “locked.” Thestate returns to “unlocked” when the session 125 concludes. In oneembodiment, protocols such as Universal Plug and Play protocol areexploited to enable the projector states to be sent in response toqueries. However, other proprietary methods could be employed withoutdeparting from the principles of the present invention.

At block 550, if necessary, a command to activate the locked projector130, including turning on the projector light source, is issued by thewireless image transmitter 500. Once the presentation projector 130 islocked and activated, the wireless image transmitter 500 can initiatethe wireless image transmission session 125 at block 560 using apeer-to-peer connectivity protocol such as Universal Plug and Play or aclient-server data protocol such as the Microsoft Remote DesktopProtocol (RDP), the Citrix Independent Computing Architecture (ICA)protocol, or the International Telecommunications Union (ITU) ProtocolT.120 protocol, and a transport protocol such as TCP/IP.

In one embodiment, once the projector wireless image transmissionsession 125 has been established, the wireless image transmitter 500triggers the performance of the screen scraper sender logic 200 at block570. At block 580, the wireless image transmitter 500 initiates thetransmission to the presentation projector 130, using theabove-described data and transport protocols, of the subset image data118 and associated header data 117 as generated by the screen scrapersender logic 200.

Once the header data 117 and subset image data 118 arrives at thepresentation projector 130, performance of the screen scraper receiverlogic 300 is automatically triggered at block 590. The screen scraperreceiver logic 300 uses a wireless to DVI graphics engine 400 to renderthe transmitted subset image data 118 to a bitmap and update the videomemory buffer 131 resident in the presentation projector 130 inaccordance with the associated header data 117. At block 595, thepresentation projector 130 projects the updated image 145 to theprojection display surface 140. At block 597, the wireless imagetransmitter 500 continues to operate in the above-described fashion byreturning to block 570 and repeating the functions of blocks 570, 580,590, and 595, until the wireless image projection session is terminatedby the user/presenter 150 via the user interface 116 of the imagegeneration device 110, or some other event that interrupts the session125.

Using the above-described method for wireless image transmission to aprojector, the entire image served by the image generation device 110 iseffectively “compressed,” because, after the initial transmission of theimage, only a subset of the digital image data generated by the imagegenerating device 110 is actually transmitted over the wireless link120. Unlike prior art projector systems, where over 1 Gigabit/seconddata rate is required for transmission of a typical XGA image, even whenthat image is a still image, the wireless image transmission of thepresent invention requires only a fraction of that data rate. Even ifevery pixel in the XGA image suddenly changes, a worst case delay ofonly approximately 1.7 seconds is required to update the projected image145 using the method and apparatus of the present invention. Since mostpresentations contain fairly static images, the typical delay time issignificantly less so as to be imperceptible or nearly so to theuser/viewer/presenter 150. The performance of the method and apparatusfor wireless image transmission to a projector 100 is therefore superiorto prior art projection systems and is particularly well suited totransmitting images wirelessly. It should be noted, however, that themethod and apparatus may also be applied to a conventional wired imagetransmission without departing from the principles of the presentinvention.

FIG. 14 illustrates a data flow diagram of the method and apparatus forwireless image transmission to a projector illustrated in FIG. 1 inaccordance with one embodiment. As shown, a raster graphics image data605 or vector graphics image data 610 is captured from a video memorybuffer into a screen scrape 615. In one embodiment, a delta subset ofthe captured image data from one screen scrape to the next, that can beencompassed by a smallest bounding rectangle 620 is saved in a projectoroutput buffer. The delta subset of the captured image data is compressed630 and sent over a wireless transmission link to a projector, where itis decompressed and rendered into a subset image data 640 in theprojector's video memory buffer using the projector's graphics renderingengine. In one embodiment, an SVG format of the captured image data 610is sent over a wireless transmission link to the projector, where it isrendered into the subset image data 640 in the projector's video memorybuffer using the projector's graphics rendering engine. The renderedimage is updated to the projected image data 645 in accordance with adescriptive header data 635 associated with the subset image data 640.

FIG. 15 illustrates a general-purpose computer system upon which anembodiment of the wireless image transmission to a projector method andapparatus may be implemented. As shown, general-purpose computer system700 comprises a bus 701, or other communications hardware and softwarefor communicating information, a processor 705 coupled with bus 701 forprocessing information, and a Universal Serial Bus (USB) host controllerfor controlling USB devices. Computer system 700 further comprises arandom access memory (RAM) or other dynamic storage device 702 (referredto as main memory), coupled to bus 701 for storing information andinstructions to be executed by processor 705. Computer system 700 alsocomprises a read only memory (ROM) 703, and/or other static storagedevice, coupled to bus 701 for storing static information andinstructions for processor 702 (referred to as static memory). Massstorage device 704 is coupled to bus 701 for storing information andinstructions. Furthermore, mass storage device 704, such as a magneticdisk or optical disk, and its corresponding disk drive, can be coupledto computer system 700. Computer system 700 can also be coupled via bus701 to a display device 721 for displaying information to a computeruser such as a network manager. Display device 721 is used to displaywindows containing a graphical user interface to the availableelectronic assets managed by the electronic asset lending library.Display device 721 can include a frame buffer, specialized graphicsrendering devices, a cathode ray tube (CRT), and/or flat panel display.An input device 722, including alphanumeric and other keyed devices, oreven a audio voice input device, is typically coupled to bus 701 forcommunicating information and command selections to processor 705.Another type of user input device, is cursor control device 723, such asa mouse, a trackball, a pen, a touch screen, or cursor direction keysfor communicating direction information and command selections toprocessor 705, and for controlling cursor movement on display device721. This input device typically has two degrees of freedom in two axes,a first axis (e.g., the x-axis) and a second axis (e.g., the y-axis),which allows the device to specify positions in a plane. However, thisinvention should not be limited to input devices with only two degreesof freedom.

Another device that may be coupled to bus 701 is a hard copy device 724which may be used for printing instructions, data, or other informationon a medium such as paper, film, or similar types of media.Additionally, computer system 700 can be coupled to a device for soundrecording, and/or playback 725, such as an audio digitizer coupled to amicrophone for recording information. Further, the device may include aspeaker that is coupled to a digital to analog (D/A) converter forplaying back the digitized sounds.

Network interface card 726 is coupled to bus 701. Network interface card726 is further coupled to an external computer network such as awireless local area network according to the IEEE 802.11, IEEE 802.11b,IrDA, and Bluetooth implementations. Network interface card 726 includesa wireless network interface card which, in conjunction with appropriatedata communications protocols (e.g. Microsoft RDP, Citrix ICA, or theITU T.120 protocols) and transport protocols (e.g. TCP/IP), provides themeans by which the image generation device 110, wireless imagetransmitter 500, screen scrape sender 200, screen scrape receiver 300,presentation projector 130, and wireless to DVI graphics engine 400,exchange information with each other as well as other devices orapplication logic coupled to the same computer network. Modem 727 iscoupled to bus 701, and provides an alternate means of exchanginginformation with other devices for which a modem connection to anexternal computer network or device (not shown) can be established.

Computer system 700 and the wireless image transmission applicationsoftware logic or program modules, stored and executed therein as partof the method and apparatus for wireless image transmission to aprojector, operate in conjunction with an operating system with graphicscapability and a terminal server capability, such as the MicrosoftWindows operating system with the graphics device interface—(GDI) andterminal services advanced client (TSAC). Commercially availablecomputer systems implementing the features of general-purpose computersystem 700 include a broad range of operating system-based computers,including server computers, desktop computers, workstations, personaldigital assistants, devices, or computer appliances.

Referring now to FIGS. 1-15 together, it should be apparent that some orall of the above-described functions of the wireless image transmissionmethod and apparatus 100 may be performed by one or more of the imagegeneration device 110, the presentation projector 130, or by associatedserver computers in a variety of network configurations. In particular,some of the components of the image generation device 110 andpresentation projector 130 may reside in part on network servers 160that communicate with the image generation device 110 or with thepresentation projector 130 over an intranet or Internet, or over a localarea or wide area network or combination of networks, or any othernetwork configuration capable of connecting them.

Accordingly, a novel method and apparatus is described for a wirelessimage transmission to a projector, so as to enable the remote control ofand image transmission to presentation projector resources in a wirelessnetwork enterprise environment. From the foregoing description, thoseskilled in the art will recognize that many other variations of thepresent invention are possible. In particular, while the presentinvention has been described as being comprised of a screen scrapersender logic 200, screen scraper receiver logic 300, wireless to DVIgraphics engine 400, and wireless transmitter logic 500 components, andbeing implemented on an image generation device 110 and a projector 130,some of the functions of these components may be distributed in othercomponents of one or more general-purpose computer systems 700. Thus,the present invention is not limited by the details described. Instead,the present invention can be practiced with modifications andalterations within the spirit and scope of the appended claims.

1. A method for transmission of an image comprising: generating a subsetimage data, wherein the subset image data is less than a frame of data;compressing the subset image data; and transmitting the compressedsubset image data to a projector to project an updated image using thesubset image data.
 2. The method of claim 1, wherein generating thesubset image data comprises: determining a delta between a first imagedata and a second image data, the first and second image data previouslygenerated by the image generator; and the updated image comprises theprojection of the first image data updated with the subset image data.3. The method of claim 2, wherein the first and second image datacomprise a raster graphics image.
 4. The method of claim 2, wherein thedelta between the first image data and the second image data isdetermined by a pixel-by-pixel comparison of pixels in the first imagedata with pixels in the second image data.
 5. The method of claim 4,wherein the pixel-by-pixel comparison includes comparing a value of apixel that represents an optical state of the pixel.
 6. The method ofclaim 5, wherein the value is a color value.
 7. The method of claim 5,wherein the value is a grayscale value.
 8. The method of claim 5,wherein the value is an intensity value.
 9. The method of claim 2,wherein the delta comprises a block of pixels in the second image datathat include at least one pixel that is different from a correspondingpixel in the first image data.
 10. The method claim 9, wherein the blockof pixels is circumscribed by a smallest bounding rectangle that canencompass the at least one different pixel.
 11. The method of claim 1,wherein generating a subset image data is performed by a personalcomputer.
 12. The method of claim 1, wherein generating a subset imagedata comprises encoding a previously generated graphics primitive into ascalable vector graphics (SVG) format.
 13. The method of claim 1,wherein transmitting the subset image data to the projector is over awireless transmission medium.
 14. The method of claim 1, whereintransmitting the subset image data to the projector comprises:discovering the projector via a wireless transmission medium;establishing a wireless transmission session with the projector; andobtaining permission from the projector to send the subset image data.